/* 
axios二次封装
1. 配置基础路径和超时时间
2. 显示请求加载进度
3. 自动携带token请求头
4. 请求成功返回响应体数据
5. 请求失败提示错误
6. 401错误时, 自动跳转到登陆页面
*/            
import axios from 'axios';
import nprogress from "nprogress";
import 'nprogress/nprogress.css';
import { getToken} from '../utils/storageUtils.js';

let userAxios = axios.create({
    // baseURL:"http://localhost:8081",
    baseURL:"/api",
    timeout:5000
});
// 请求拦截器
userAxios.interceptors.request.use(config=>{
    // 显示进度条
    nprogress.start();
    // 获取到token
    let token = getToken();

    console.log(token);
    // 设置请求头token
    if(token){
        config.headers.token = token;
    }
    return config;
})
// 响应拦截器
userAxios.interceptors.response.use(res=>{
    // 关闭进度条
    nprogress.done()
    return res.data;
},rea=>{
    // 响应请求获取失败
    console.log(rea);
    throw rea;
})

export default userAxios;